nginx非80端口的301跳转,301跳转自动带上端口 | 您所在的位置:网站首页 › vue 不用nginx存cookie › nginx非80端口的301跳转,301跳转自动带上端口 |
前言
一级反向代理nginx,占用80端口二级反向代理nginx,占用10080端口
一级反向代理nginx的配置
server {
listen 80;
server_name mydomain.com;
...
location /admin/ {
proxy_pass http://192.168.1.100:10080 ;
proxy_set_header Host $host:$server_port;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Nginx-Proxy true;
index index.html index.htm;
}
...
}
二级反向代理nginx的配置
server {
listen 10080;
server_name mydomain.com;
...
location /admin/{
alias /xxx/xxx/admin/;
try_files $uri $uri/ /admin/index.html;
index index.html index.htm;
}
...
}
问题来了
按照上面配置后,每次访问 http://mydomain.com/admin 时,都会重定向到 http://mydomain.com:10080/admin/。 因此,需要将 10080 这个端口去掉。 使用 proxy_redirect 去掉 10080 这个端口修改一级反向代理nginx的配置,如下: server { listen 80; server_name mydomain.com; ... location /admin/ { proxy_pass http://192.168.1.100:10080 ; proxy_redirect http://mydomain.com:10080/ /; proxy_set_header Host $host:$server_port; proxy_set_header Remote_Addr $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Nginx-Proxy true; index index.html index.htm; } ... } proxy_redirect http://mydomain.com:10080/ /; 表示将 http://mydomain.com:10080/ 替换成 /。 proxy_redirect的作用proxy_redirect 该指令用来修改被代理服务器返回的响应头中的Location头域和Refresh头域。 参考nginx域名配置非80端口的301跳转 Nginx反向代理之proxy_redirect指令 nginx中的proxy_redirect的使用 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |